package com.foreveross.fetl.common.db;

import java.sql.SQLException;

/**
 * 该类是一个过滤类，原有{@link org.logicalcobwebs.proxool.ProxoolDataSource}属性在springbean配置时出错
 * <p>将houseKeepingSleepTime,maximumConnectionLifetime等属性设置可setter的方法,原包中setter方法参数值类型错误
 * <p>在原包出现新的版本，解决掉该问题后，可去掉该类
 * @author creator: xiangsf
 * @author modifior: xiangsf
 * @since 2012-12-11 下午1:51:22
 * @version v1.0
 */
public class ProxoolDataSource extends org.logicalcobwebs.proxool.ProxoolDataSource {
	
	private int loginTimeout;
	private String alias;
    private String driver;
    private String fatalSqlExceptionWrapperClass;
    private long houseKeepingSleepTime;
    private String houseKeepingTestSql;
    private long maximumActiveTime;
    private int maximumConnectionCount;
    private long maximumConnectionLifetime;;
    private int minimumConnectionCount;
    private long overloadWithoutRefusalLifetime;
    private String password;
    private int prototypeCount;
    private long recentlyStartedThreshold;
    private int simultaneousBuildThrottle;
    private String statistics;
    private String statisticsLogLevel;
    private boolean trace;
    private String driverUrl;
    private String user;
    private boolean verbose;
    private boolean jmx;
    private String jmxAgentId;
    private boolean testBeforeUse;
    private boolean testAfterUse;

	public int getLoginTimeout() {
		return loginTimeout;
	}
	public void setLoginTimeout(int loginTimeout) throws SQLException {
		this.loginTimeout = loginTimeout;
		super.setLoginTimeout(loginTimeout);
	}
	public String getAlias() {
		return alias;
	}
	public void setAlias(String alias) {
		this.alias = alias;
		super.setAlias(alias);
	}
	public String getDriver() {
		return driver;
	}
	public void setDriver(String driver) {
		this.driver = driver;
		super.setDriver(driver);
	}
	public String getFatalSqlExceptionWrapperClass() {
		return fatalSqlExceptionWrapperClass;
	}
	public void setFatalSqlExceptionWrapperClass(
			String fatalSqlExceptionWrapperClass) {
		this.fatalSqlExceptionWrapperClass = fatalSqlExceptionWrapperClass;
		super.setFatalSqlExceptionWrapperClass(fatalSqlExceptionWrapperClass);
	}
	public long getHouseKeepingSleepTime() {
		return houseKeepingSleepTime;
	}
	public void setHouseKeepingSleepTime(long houseKeepingSleepTime) {
		this.houseKeepingSleepTime = houseKeepingSleepTime;
		super.setHouseKeepingSleepTime(Long.valueOf(houseKeepingSleepTime).intValue());
	}
	public String getHouseKeepingTestSql() {
		return houseKeepingTestSql;
	}
	public void setHouseKeepingTestSql(String houseKeepingTestSql) {
		this.houseKeepingTestSql = houseKeepingTestSql;
		super.setHouseKeepingTestSql(houseKeepingTestSql);
	}
	public long getMaximumActiveTime() {
		return maximumActiveTime;
	}
	public void setMaximumActiveTime(long maximumActiveTime) {
		this.maximumActiveTime = maximumActiveTime;
		super.setMaximumActiveTime(maximumActiveTime);
	}
	public int getMaximumConnectionCount() {
		return maximumConnectionCount;
	}
	public void setMaximumConnectionCount(int maximumConnectionCount) {
		this.maximumConnectionCount = maximumConnectionCount;
		super.setMaximumConnectionCount(maximumConnectionCount);
	}
	public long getMaximumConnectionLifetime() {
		return maximumConnectionLifetime;
	}
	public void setMaximumConnectionLifetime(long maximumConnectionLifetime) {
		this.maximumConnectionLifetime = maximumConnectionLifetime;
		super.setMaximumConnectionLifetime(Long.valueOf(maximumConnectionLifetime).intValue());
	}
	public int getMinimumConnectionCount() {
		return minimumConnectionCount;
	}
	public void setMinimumConnectionCount(int minimumConnectionCount) {
		this.minimumConnectionCount = minimumConnectionCount;
		super.setMinimumConnectionCount(minimumConnectionCount);
	}
	public long getOverloadWithoutRefusalLifetime() {
		return overloadWithoutRefusalLifetime;
	}
	public void setOverloadWithoutRefusalLifetime(
			long overloadWithoutRefusalLifetime) {
		this.overloadWithoutRefusalLifetime = overloadWithoutRefusalLifetime;
		super.setOverloadWithoutRefusalLifetime(Long.valueOf(overloadWithoutRefusalLifetime).intValue());
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
		super.setPassword(password);
	}
	public int getPrototypeCount() {
		return prototypeCount;
	}
	public void setPrototypeCount(int prototypeCount) {
		this.prototypeCount = prototypeCount;
		super.setPrototypeCount(prototypeCount);
	}
	public long getRecentlyStartedThreshold() {
		return recentlyStartedThreshold;
	}
	public void setRecentlyStartedThreshold(long recentlyStartedThreshold) {
		this.recentlyStartedThreshold = recentlyStartedThreshold;
		super.setRecentlyStartedThreshold((int)recentlyStartedThreshold);
	}
	public int getSimultaneousBuildThrottle() {
		return simultaneousBuildThrottle;
	}
	public void setSimultaneousBuildThrottle(int simultaneousBuildThrottle) {
		this.simultaneousBuildThrottle = simultaneousBuildThrottle;
		super.setSimultaneousBuildThrottle(simultaneousBuildThrottle);
	}
	public String getStatistics() {
		return statistics;
	}
	public void setStatistics(String statistics) {
		this.statistics = statistics;
		super.setStatistics(statistics);
	}
	public String getStatisticsLogLevel() {
		return statisticsLogLevel;
	}
	public void setStatisticsLogLevel(String statisticsLogLevel) {
		this.statisticsLogLevel = statisticsLogLevel;
		super.setStatisticsLogLevel(statisticsLogLevel);
	}
	public boolean isTrace() {
		return trace;
	}
	public void setTrace(boolean trace) {
		this.trace = trace;
		super.setTrace(trace);
	}
	public String getDriverUrl() {
		return driverUrl;
	}
	public void setDriverUrl(String driverUrl) {
		this.driverUrl = driverUrl;
		super.setDriverUrl(driverUrl);
	}
	public String getUser() {
		return user;
	}
	public void setUser(String user) {
		this.user = user;
		super.setUser(user);
	}
	public boolean isVerbose() {
		return verbose;
	}
	public void setVerbose(boolean verbose) {
		this.verbose = verbose;
		super.setVerbose(verbose);
	}
	public boolean isJmx() {
		return jmx;
	}
	public void setJmx(boolean jmx) {
		this.jmx = jmx;
		super.setJmx(jmx);
	}
	public String getJmxAgentId() {
		return jmxAgentId;
	}
	public void setJmxAgentId(String jmxAgentId) {
		this.jmxAgentId = jmxAgentId;
		super.setJmxAgentId(jmxAgentId);
	}
	public boolean isTestBeforeUse() {
		return testBeforeUse;
	}
	public void setTestBeforeUse(boolean testBeforeUse) {
		this.testBeforeUse = testBeforeUse;
		super.setTestAfterUse(testBeforeUse);
	}
	public boolean isTestAfterUse() {
		return testAfterUse;
	}
	public void setTestAfterUse(boolean testAfterUse) {
		this.testAfterUse = testAfterUse;
		super.setTestAfterUse(testAfterUse);
	}

    
}
